﻿<?php

	/**
	 * 
	 */
	class LoginHandler {
		
		private static $loggedin = "loggedin";
		private static $username = "username";
		
		//Funktion som kontrollerar om användaren är inloggad.
		public function IsLoggedIn(){
			if(isset($_SESSION[self::$loggedin])){
					return true;
			}
			return false;
		}
		
		//Login-funktionen användarnamn och lösen skickas med. Hårdkodade anv och lös finns i switch-satsen. Returnerar false om ej rätt anv och lös anges.
		public function DoLogin($username, $password){
					
			switch ($username) {
					
				default: return false;							
				
				case "Kålle": 
				if ($password == "Ballong"){
					break;
				}
				return false;					
				
				case "Ada": 
				if ($password == "Snöre"){
					break;
				}
				return false;
												  					  								
			}
			$_SESSION['username'] = $username;
			$_SESSION[self::$loggedin] = 1;						
			return true;			
		}
		
		//Logga ut-funktionen. Sätter Sessions-variabeln "loggedin" till "no".
		public function DoLogout(){
			if (isset($_SESSION[self::$loggedin])){
				unset($_SESSION[self::$loggedin]);	
			}
		}
		
		//Test-serie på ovanstående funktioner.
		public function Test(){
					
			$this->DoLogout();
			
			if($this->IsLoggedIn() == true){
				echo "IsLoggedIn fel";	
				return false;
			}
			
			if($this->DoLogin("fel", "fel") == true){
				echo "DoLogin med fel uppgifter. fel";	
				return false;
			}
			
			if($this->DoLogin("Kålle", "Ballong") == false){
				echo "DoLogin med rätt uppgifter. fel";						
				return false;
			}
			
			if($this->IsLoggedIn() == false){
				echo "IsLoggedIn2 fel";					
				return false;
			}
			
			$this->DoLogout();
			
			if($this->DoLogin("Kålle", "Ballong") == false){
				echo "DoLogin med rätt uppgifter2. fel";						
				return false;
			}
			
			return true;			
		}
	
				
	}
	


?>